Contemporary portable devices, such as mobile phones, permit users to communicate with a service provider over a network. Portable devices frequently include mobile equipment (ME) and a module card. The ME is the hardware of the portable device, which includes a display, a receiver, a transmitter, and other physical equipment. The ME is identified by a unique code. The module card stores the unique code that identifies the ME in a memory.
In existing portable devices, the module card serves as a network interface that connects the portable device to the network. In more sophisticated portable devices, the module card contains a toolkit, which consists of a set of commands that are programmed into the module card. In such devices, the module card functions as an interpreter that is equipped to run applications written in one or more programming languages. Moreover, in such devices, the module card includes a memory that stores these applications along with other information. Such other information frequently corresponds to the unique code identifying the ME.
Today, many portable devices are connected to a Global System for Mobile Communication (“GSM”) network or another wireless network. In particular, GSM is a standard set that describes protocols used in digital wireless communications among portable device users, service providers, and other parties. In such a network, the module card is a Subscriber Identity Module (“SIM”) card; the toolkit on the module card is a SIM Toolkit (“STK”); and the module card functions as a STK interpreter. In more sophisticated SIM cards, the STK is a Dynamic SIM Toolkit (“DSTK”) and the STK interpreter is a DSTK interpreter.
In a wireless network, a service provider generates content corresponding to a message that is to be sent to a user. Such messages are often written in a markup language (for example, Wireless Internet Gateway Wireless Markup Language (“WIG WML”), SIM @lliance Toolbox Markup Language (“S@TML”), Java Markup Language (“JavaML”)). The content is sent to a gateway, which prepares the message and forwards the message to the user. This gateway is known as the Universal Gateway (“UG”). The message includes an instruction, which itself is a SIM card application (for example, a wiblet, a s@tlet, a Java applet) that is received by a portable device belonging to the user. The portable device contains a SIM card including its own memory, which stores a DSTK. Properly programmed, the SIM card functions as a DSTK interpreter, which is configured to interpret the instruction contained in the message. Depending on whether the instruction comprises a wiblet, a s@tlet, or a Java applet, the DSTK interpreter functions as SmartTrust Wib (“Wib”), a SIM @lliance Toolbox (“S@T”) interpreter, or a Java interpreter, respectively. The DSTK interpreter interprets the instructions to implement actions or commands included in the DSTK. Some of these commands operate independently of the portable device, and other commands are directed to the portable device, such as a command to display a string of text or ask the user for an input.
In certain wireless networks, users are required to periodically use their portable devices in order to retain services that are being provided by a service provider. In such networks, when a user fails to use their portable device at least once during a predefined period, then the user often is no longer be able to use and receive services from the service provider. Moreover, after the user loses access to the services provided, the user often is not be able to communicate with the service provider to reinstate the services.
As more users connect to service providers over wireless networks and the size of these networks increase, it becomes increasingly important from an efficiency and cost standpoint for service providers to monitor the frequency that users are using their services. By monitoring usage, a service provider may be equipped to aid users with retaining desired services.